Vamos para o segundo texto da srie Sistema dosvox - de dentro para fora.


Hoje, vamos ver comandos teis e como manipular strings.


*

[0]ndice
1. Comandos teis:
1.1 Funo inttostr;
1.2 Funo strtoint;
1.3 Comando Sintsoletra;
1.4 Comando uppercase;

2. Manipulao de strings:
2.1 Editando uma string;
2.2 Obtendo o tamanho de uma string;
2.3 Copiando ou destacando parte de uma string;

[1] Comandos teis:
[1.1] Funo inttostr.
Comando para fazer com que variveis string recebam valores de
variveis integer. Por exemplo:
Var a:string;
  B:integer;

Sempre que desejamos atribuir valor a uma varivel, usamos := (dois 
pontos igual)
como vemos logo abaixo:
B:=500;
Varivel b recebe o valor 500.

At aqui, a varivel b, do tipo inteiro, recebeu o valor 500 que  inteiro.
Agora, vamos atribuir a varivel a, que  string, um valor inteiro.

Para isso, vamos usar a funo inttostr:
A:=IntToSTR(b);
A varivel a continua sendo string, mas recebeu um valor inteiro que foi 
convertido.

[1.2] Funo strtoint:
Faz exatamente o inverso do IntToSTR. Possibilita uma varivel
do tipo integer receber o valor de uma string, desde que este valor seja
composto por algarismos. Por exemplo:
Var A:string;
  B:integer;
A:='99';
b:=StrToINT (a);
  No caso, B, que  uma integer, passa a receber o valor 99, que estava
como caracter alfanumrico na varivel A, que  uma string. Porm, se a
varivel A abrigasse valores que no fossem algarismos, como letras,
sinais, etc, o comando StrToInt seria executado com erros.

[1.3] Comando sintsoletra.
Soletra o contedo de uma varivel string. Por exemplo:
S:='programa';
SintSoletra (s);
O programa vai dizer: p r o g r a m a.
Tambm podemos passar o valor diretamente para a funo, assim:
SintSoletra ('programa');
Pois o que importa  o contedo. Como  uma string, pode ser uma
varivel ou um contedo entre apstrofo.

A funo sintsoletra faz parte da unit dvwin do sistema dosvox.

[1.4] Comando Uppercase.
Transforma Caracteres minsculos em maisculos, em uma
varivel string. Por exemplo:
S:='Delphi';
S:=Uppercase (s);
O contedo de S ser 'DELPHI', tudo maisculo.
Repare que a letra D, primeiro caractere
da varivel, que j era maiscula, no foi alterada.

[2] Manipulao de Strings
[2.1] Editando uma string.
  Como j foi visto, uma varivel string  aquela que aceita valores
numricos, alfa-numricos, sinais, pontuao, etc.  possvel armazenar,
em uma string, qualquer caractere, diferente de uma integer, que s
aceita nmeros. Porm, por inmeras vezes, se faz necessrio editar,
alterar ou apenas verificar, uma nica posio de uma string, sem
alter-la por completo. Por exemplo: Na varivel S, cujo contedo 
'Delphi', a terceira posio da varivel  a letra l. Podemos
especificar isso atravs do nmero da posio entre colchetes. Vejamos:
S:='Delphi';
Writeln (s[3]);
Ser exibida na tela, apenas a letra l, que  a terceira posio da
palavra Delphi, pois especifiquei o nmero 3 entre colchetes. Isso
tambm pode ser usado para alterar valores, por exemplo:
S:='Cada';
S[1]:='N';
Transformei a palavra 'cada' na palavra 'nada', pois substitui o C, que
estava na posio 1, para um N.

[2.2] Obtendo o tamanho de uma string:
Para obtermos o tamanho de uma string, usamos a funo Length.
Veja o exemplo:

var s : string;
i : integer;
s:='Delphi';
i:=length(s);
SintWriteLn ('A palavra '+s+' tem '+inttostr(i)+' caracteres');
  O conjunto de comandos acima atribui a palavra 'Delphi' na varivel
S e mostra quantos caracteres possui esta palavra, que no caso, so 6.
A ltima linha do exemplo,
faz a converso diretamente para string, ou seja, no foi preciso declarar
outra string e usar a funo inttostr para armazenar o valor nessa varivel.

[2.3] Copiando ou destacando parte de uma string:
Podemos copiar ou destacar parte de uma string usando o comando copy.
 Suponhamos que queremos exibir, por exemplo, apenas a segunda, 
terceira e quarta
posio da varivel. Ento usamos:
SintWriteln (copy (s, 2, 3);
A funo copy recebe 3 parmetros:
O primeiro  a varivel onde est o contedo que desejo pegar.
O segundo  o trecho inicial de onde quero pegar o contedo.
E o ltimo  quantas posies, contando com a inicial, eu desejo pegar.
Ento, no exemplo acima, eu digo que desejo pegar da varivel s, do 
caractere 2, e a partir dele, quero pegar 3 caracteres.

Ou seja: Exiba a varivel S, porm, apenas do caractere 2 ao 4. No caso
da palavra 'Delphi', ser exibido na tela apenas 'elp'.
Para copiarmos o trecho de uma varivel para outra, podemos fazer assim:
s2:=copy (s, 2, 3);
Aqui, a varivel s2 recebeu as posies 2 3 e 4 da varivel s.
Lembrando que, em pascal, a posio inicial  um, diferente de muitas
linguagens,
como c, que a posio inicial  0.
*
